package com.neuedu.yunong.service.impl;
import com.github.pagehelper.PageHelper;
import com.neuedu.common.utils.StringUtils;
import lombok.RequiredArgsConstructor;
import java.util.List;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.neuedu.yunong.mapper.YunongVideosMapper;
import com.neuedu.yunong.domain.YunongVideos;
import com.neuedu.yunong.service.IYunongVideosService;

/**
 * 视频管理Service业务层处理
 *
 * @author mxwj
 * @date 2024-12-05
 */
@Service
@RequiredArgsConstructor(onConstructor = @__(@Autowired))
public class YunongVideosServiceImpl extends ServiceImpl<YunongVideosMapper, YunongVideos> implements IYunongVideosService
{
    private final YunongVideosMapper yunongVideosMapper;

    /**
     * 查询视频管理
     *
     * @param id 视频管理主键
     * @return 视频管理
     */
    @Override
    public YunongVideos selectYunongVideosById(Long id)
    {
        return yunongVideosMapper.selectYunongVideosById(id);
    }

    /**
     * 查询视频管理列表
     *
     * @param yunongVideos 视频管理
     * @return 视频管理
     */
    @Override
    public List<YunongVideos> selectYunongVideosList(YunongVideos yunongVideos)
    {
        return yunongVideosMapper.selectYunongVideosList(yunongVideos);
    }

    /**
     * 查询视频管理列表-增强版可按照字段排序
     *
     * @param yunongVideos 视频管理
     * @return 视频管理
     */
    @Override
    public List<YunongVideos> selectYunongVideosListPlus(YunongVideos yunongVideos, String orderBy) {
        // 如果传入了排序字段，则将其作为参数传递
        if (StringUtils.isNotEmpty(orderBy)) {
            PageHelper.orderBy(orderBy); // 例如："createTime desc"
        }
        return yunongVideosMapper.selectYunongVideosList(yunongVideos);
    }

    /**
     * 新增视频管理
     *
     * @param yunongVideos 视频管理
     * @return 结果
     */
    @Override
    public int insertYunongVideos(YunongVideos yunongVideos)
    {
        return yunongVideosMapper.insertYunongVideos(yunongVideos);
    }

    /**
     * 修改视频管理
     *
     * @param yunongVideos 视频管理
     * @return 结果
     */
    @Override
    public int updateYunongVideos(YunongVideos yunongVideos)
    {
        return yunongVideosMapper.updateYunongVideos(yunongVideos);
    }

    /**
     * 批量删除视频管理
     *
     * @param ids 需要删除的视频管理主键
     * @return 结果
     */
    @Override
    public int deleteYunongVideosByIds(Long[] ids)
    {
        return yunongVideosMapper.deleteYunongVideosByIds(ids);
    }

    /**
     * 删除视频管理信息
     *
     * @param id 视频管理主键
     * @return 结果
     */
    @Override
    public int deleteYunongVideosById(Long id)
    {
        return yunongVideosMapper.deleteYunongVideosById(id);
    }
}
